home *** CD-ROM | disk | FTP | other *** search
/ Amiga Tools 2 / Amiga Tools 2.iso / tools / jade / src / dmakefile < prev    next >
Makefile  |  1995-03-09  |  3KB  |  109 lines

  1. # DMakefile for Amiga version of Jade (dmake == Matt Dillon's make)
  2. # Copyright (C) 1993, 1994 John Harper <jsh@ukc.ac.uk>
  3.  
  4. # Jade is free software; you can redistribute it and/or modify it
  5. # under the terms of the GNU General Public License as published by
  6. # the Free Software Foundation; either version 2, or (at your option)
  7. # any later version.
  8.  
  9. # Jade is distributed in the hope that it will be useful, but
  10. # WITHOUT ANY WARRANTY; without even the implied warranty of
  11. # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.    See the
  12. # GNU General Public License for more details.
  13.  
  14. # You should have received a copy of the GNU General Public License
  15. # along with Jade; see the file COPYING.  If not, write to
  16. # the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA.
  17.  
  18. CC = dcc
  19. MAKE = dmake
  20.  
  21. COMMON_SRCS = buffers.c commandline.c commands.c edit.c editcommands.c \
  22.           editrect.c find.c glyphs.c housekeeping.c io.c keys.c lisp.c \
  23.           lispcmds.c lispmach.c main.c misc.c movement.c refresh.c \
  24.           render.c undo.c streams.c stringmem.c symbols.c values.c \
  25.           windows.c
  26.  
  27. COMMON_HDRS = jade.h edit.h lisp.h keys.h config.h stringmem.h value.h \
  28.           doc-strings.h
  29. COMMON_OBJS = $(COMMON_SRCS:"*.?":"%1.o")
  30.  
  31. AMIGA_SRCS  = amiga_clipboard.c amiga_commandline.c amiga_display.c \
  32.           amiga_eventloop.c amiga_keys.c amiga_memory.c amiga_menus.c \
  33.           amiga_minrexx.c amiga_misc.c amiga_render.c amiga_server.c \
  34.           amiga_stksize.c amiga_windows.c
  35. AMIGA_HDRS  = amiga_defs.h amiga_windowsys.h
  36. AMIGA_OBJS  = $(AMIGA_SRCS:"*.?":"%1.o")
  37.  
  38. X11_SRCS    = x11_commandline.c x11_display.c x11_eventloop.c x11_keys.c \
  39.           x11_misc.c x11_render.c x11_windows.c
  40. #X11_HDRS   = x11_defs.h x11_windowsys.h
  41. #X11_OBJS   = $(X11_SRCS:"*.c":"%1.o")
  42.  
  43. UNIX_SRCS   = lists.c unix_misc.c unix_processes.c unix_memory.c unix_server.c
  44. #UNIX_HDRS  = unix_defs.h
  45. #UNIX_OBJS  = $(UNIX_SRCS:"*.c":"%1.o")
  46.  
  47. RE_LIB = regexp/regexpsr.lib
  48.  
  49. SRCS = $(COMMON_SRCS) $(AMIGA_SRCS)
  50. HDRS = $(COMMON_HDRS) $(AMIGA_HDRS)
  51. OBJS = $(COMMON_OBJS) $(AMIGA_OBJS)
  52. LIBS = $(RE_LIB)
  53.  
  54. # These flags mean compile pure, fully registered args, inline libcalls.
  55. CFLAGS = -r -mRR -mi
  56. LDFLAGS = -s
  57. #LDFLAGS =
  58.  
  59. all : jade jadeclient
  60.  
  61. jade : jade_protos.h $(OBJS) $(RE_LIB)
  62.     $(CC) $(CFLAGS) $(LDFLAGS) -o %(left) $(OBJS) $(LIBS)
  63.  
  64. jade_protos.h : stripproto $(SRCS)
  65.     stripproto -o jade_protos.h $(SRCS)
  66.  
  67. # Have to do this in two parts so not to overflow the AmigaDOS max command
  68. # line length :(
  69. doc-strings.h doc : makedoc
  70.     makedoc DOC.bare doc-strings.h $(COMMON_SRCS) $(X11_SRCS)
  71.     makedoc -a DOC.bare doc-strings.h $(UNIX_SRCS) $(AMIGA_SRCS)
  72.     copy DOC.bare /DOC
  73.  
  74. stripproto makedoc : stripproto.c makedoc.c
  75.     $(CC) $(CFLAGS) $(LDFLAGS) -o %(left) %(right)
  76.  
  77. $(OBJS) : $(SRCS)
  78.     $(CC) $(CFLAGS) -c -o %(left) %(right)
  79.  
  80. $(RE_LIB) :
  81.     cd regexp
  82.     dmake
  83.     cd
  84.  
  85. jadeclient : amiga_client.c amiga_server.h
  86.     $(CC) $(CFLAGS) $(LDFLAGS) -o %(left) amiga_client.c
  87.  
  88. nobak :
  89.     -delete #?~
  90.  
  91. clean : nobak
  92.     -delete #?.o jade_protos.h doc-strings.h
  93.  
  94. realclean : clean
  95.     -delete DOC.bare makedoc stripproto config.#?
  96.     cd regexp
  97.     $(MAKE) clean
  98.     cd
  99.  
  100. $(OBJS)     :: $(HDRS)
  101.  
  102. main.o        : revision.h
  103.  
  104. misc.o        : revision.h
  105.  
  106. amiga_windows.o : revision.h
  107.  
  108. amiga_server.o    : amiga_server.h
  109.